//-----------express搭建http服务器------------//

//1、引入第三方 express模块
const express = require('express')

//2、实例化 express对象
const app = express()

//3、配置请求路由 get方法或post方法 （匹配到其中一个路由，其他路由都不会执行）
app.get('/',(req,res) =>{
    //设置返回内容
    res.send('hello world')
})
app.get('/home',(req,res)=>{
    res.send('世界你好！')
})
app.post('/register',(req,res)=>{
    res.send('注册成功')
})

//4、监听端口
app.listen(8008,() => {
    console.log("监听：http://127.0.0.1:8008端口")
})

//5、设置中间键用use方法 404
app.use((req,res) => {
    res.status(404).send("找不到资源")
})


//-----------express搭建https服务器------------//
//导入模块
const https = require('https'); //node核心模块无需下载，用于创建服务器
const express = require('express'); //第三方模块要下载，用于配置路由
const fs = require('fs') //node核心模块，用于读取文件
const http = require('http')

//实例化express对象
let app = express()

//读取私钥文件和证书文件
let options = {
    //读取私钥文件
    key:fs.readFileSync('./key.pem'),
    //读取证书文件
    cert:fs.readFileSync('./cert.pem')
}
//express中间键 use方法,一般用于路由拦截
app.use(function(req,res,next){
    req.userId = "hello123"
    next()
})

//配置路由
app.get('/',function(req,res){
    res.send('首页');
})
app.get('/home',function(req,res){
    res.send("this is my homepage" + req.userId)
})
//创建http服务
http.createServer(app).listen(8890,() => {
    console.log("http server running at 8890")
})

//创建https服务器并监听端口：
https.createServer(options,app).listen(8888,function(){  //接收密钥配置对象参数 和路由参数
    console.log('httpsserver running at https://127.0.0.1:8888')
})